Robot control system

ABSTRACT

The hand of a robot is moved from an instant position P 1  to a first command position P 2  to grip one of the workpiece W 1 ,W 2 ,W 3  placed at the first command position and conveys the same to a second command position P 3 . A sensor is contacted by the workpiece when the hand takes an intermediate position Px on its way from the instant position P 1  to the first command position P 2 , the robot control system stops the hand without delay or after travel of the hand over a predetermined distance and, after the travel of the hand over a predetermined deceleration distance, stops the hand. The hand is then moved from the stopping position to the second command position P 3  neglecting the remaining stroke or movement between the stopping position and the first command position.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is related to U.S. application Ser. No. 414,355 whichis assigned to the assignee of the present invention.

BACKGROUND OF THE INVENTION

The present invention relates to a robot control system and, moreparticularly, to a robot control system which makes it possible to gripa workpiece without fail even if the work is somewhat offset from thecorrect position, and which permits easy teaching for gripping andstacking of workpieces on a work table.

Playback-type industrial robots have been put into practical use and arefully exhibiting their ability, well satisfying the demand for savinglabor and procedural simplification of work in view of the current risein labor costs. Particularly, in machine factories in which many machinetools are installed, a remarkable effect has been achived by employingthe playback type industrial robot for simple services such as exchangeof workpieces, exchange of tools and so forth for each of the machinetools. Under these circumstances, the demand for the playback typeindustrial robot is increasing year by year.

In the actual use of the playback type industrial robot, instructionsfor the services to be performed by the robot are applied beforehand tothe robot through a teaching box and the content of the instructions(referred to as "robot command data" hereinafter) is stored in a memoryincorporated in the controller. A series of robot command data is readeach time the service demand is raised by the machine to make the robotserve the respective machine.

The robot command data is composed of the information concerning thepoint to be serviced, operation speed, and a service code which commandscontrol of the service hand at the point, exchange of signals betweenthe machine and the control system and so forth. The above-mentionedteaching generally includes the following steps: namely, (1) setting amemory address where the robot data is to be stored, (2) positioning bya jog feed (manual feed), (3) setting of point position information andspeed command and (4) setting of robot service code. The instruction fora series of robot services are made by repeating the sequence includingthe above-mentioned steps (1) to (4). Therefore, the robot performscorrectly and successively various tasks such as exchange of workpieces,removal of metal scraps, exchange of tools, control of the hand and soforth, after completion of positioning at a predetermined speed, inaccordance with the robot command data each time the service demand isissued, unless any impediment exists in the mechanical portion.

If a workpiece is positioned at a slight offset from the correctposition, the hand cannot grip the workpiece securely even it it ismoved correctly to the commanded position as instructed. In a case wherea multiplicity of unmachined workpieces are stacked on the work table,the position of gripping varies depending on the size, dimensions, etc.of the workpiece, so that it is necessary to take the trouble ofrenewing the position command each time a workpiece is gripped. When themachined workpieces are stacked, the position at which the hand releasesthe workpieces varies depending on the desired location of workpiece, sothat it becomes necessary to take the trouble of renewing the positioncommand for releasing the workpiece each time the release takes place.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to provide a robot controlsystem which can securely grip a workpiece even if the workpiece issomewhat misaligned from the correct position and which permits easyteaching of the gripping and stacking of workpieces stacked on a worktable.

More specifically, according to the invention, there is provided a robotcontrol system in which the robot services are stored beforehand in adata memory of a robot controller and the robot performs services inaccordance with the stored data. When the hand of the robot is movedfrom a present or instant position P₁ to a first command position P₂ toeffect the service on an object stationed at the first command positionP₂ and, thereafter, the hand is moved to a second command position P₃, asensor senses a predetermined signal which limits the motion of therobot while the hand is moving from the instant position P₁ to the firstcommand position P₂, whereupon the hand is stopped without delay at thatposition or stopped after travelling a predetermined transit distance.Then, the robot executes the robot service as instructed at the positionwhere the hand is stopped. Thereafter, the hand is moved to the secondcommand position P₃ neglecting or ignoring the remaining stroke ormovement to the first command position P₂.

According to this arrangement, the hand and the object to be serviced bythe robot are protected from damage due to impact, because the object,e.g. the workpiece, is never subjected to unnecessary force, even whenthe robot hand has a large weight and, hence, a large momentum. Inaddition, since the robot can turn to the next operation without fail,the efficiency of work is improved particularly is such case that thesame service is performed repeatedly. Also, the teaching of a series ofrobot operations is considerably facilitated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 2 are motion diagrams used to explain a robot control systemin accordance with the invention;

FIG. 3 is an example of robot command data;

FIGS. 4, 5 and 6 are illustrations of the system of the inventionapplied to a case where a multiplicity of unmachined workpieces arestacked on a work table;

FIG. 7 is an illustration of the robot command data; and

FIGS. 8 and 9 are block diagrams of different embodiments of theinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

To go into further details of the invention, preferred embodiments ofthe invention will be described hereinunder with reference to theaccompanying drawings.

FIGS. 1 and 2 are illustrations explanatory of the robot control systemof the invention, while FIG. 3 is an illustration of an example of therobot command data.

Assume here that robot command data has been formed or generated whichwill move the robot hand from the instant position P₁ to a first commandposition P₂ where it grips an unmachined workpiece and then to a secondcommand position P₃, as shown in FIG. 1 or 2. The robot operates inaccordance with cylindrical coordinates having R,Z and θ axes. Thecoordinates of the positions P₁, P₂ and P₃ are represented,respectively, by (R₁, Z₁, θ₁), (R₂, Z₂, θ₁) and (R₃, Z₃, θ₃). The speedof movement from a point P₀ (not shown) to the instant position P₁ isrepresented by V₁. Similarly, the speeds of movement from the positionP₁ to the position P₂ and from the position P₂ to the position P₃ arerepresented by V₂ and V₃, respectively. The code of a robot service forgripping the workpiece is represented by SOO. The hand is equipped witha sensor which is adapted produce a sensing signal upon contact with theworkpiece.

As shown in FIG. 3, the robot command data comprises point data PD₁,PD₂, PD₃, . . . at the points P₁, P₂, P₃, . . . . For moving the armfrom the instant position P₁ to the first command position P₂, the pointdata PD₂ is read out from the data memory, and the arm is moved to thefirst command position P₂ in accordance with the motion speed data andposition data V₂, R₂, Z₂, θ₂ contained by the point data PD₂. As thehand reaches the first command position P₂, it grips the workpiece inaccordance with the robot command data SOO contained by the point dataPD₂. After the completion of gripping of the workpiece by the hand,motion speed data and position data V₂, R₃, Z₃, θ₃ is read from thepoint data PD₃, so that the hand starts to leave for the second commandposition P.sub. 3.

In the described embodiment of the invention, during the movement of thehand from the position P₁ to the position P₂, the robot control systemstops the hand immediately after the sensor is contacted by theworkpiece (at point Px in FIG. 1). Alternatively, the hand is stoppedwithout delay after travelling a predetermined transit distance Lo (SeeFIG. 2). Then, the robot command data SOO contained by the point dataPD₂ is read from the data memory to make the hand grip the workpiece.After the completion of the gripping operation the hand is directlymoved to the second command position P₃, neglecting the remaining strokeor movement to the first command position P₂. Thus, in the robot controlsystem of the invention, if the unmachined workpiece is positioned at aan offset from the correct position towards the starting position P₁,the hand is stopped without delay after the workpiece is sensed by thesensor or, alternatively, the hand is stopped after the hand travels toa position (distance Lo) where the hand can perfectly grip theworkpiece.

FIGS. 4, 5, 6 and 7 illustrate a practical application of the presentinvention. In this application, unmachined workpieces W₁ to W₃ arestacked on a work table WT (See FIG. 4) and are gripped and conveyed tothe point P₃ successively one at a time. In this application, the dataconcerning the position of the unmachined workpieces W₁, W₂ and W₃ atthe point P₂ in the direction of the Z axis is determined to be somewhatdeeper, i.e. further, than the actual one. More specifically, theunmachined workpieces W₁,W₂ and W₃ have different positions in thedirection of the Z axis. According to the invention, the Z-axis positionof the lowermost unmachined work W₃ (or a position below the lowermostworkpiece) is used as the Z-axis position data in the point data PD₂(See FIG. 7). During operation, for conveying the first unmachinedworkpiece W₁ to the point P₃, the hand is stopped immediately after thesensor attached to the hand contacts the unmachined workpiece W₁, at thepoint Px (See FIG. 5) or, alternatively, the hand is moved after thecontact with a position where it can perfectly grip the unmachinedworkpiece W₁, i.e. the hand travels the distance Lo, and is then stopped(See FIG. 6). Then, the robot service code SOO is read out to make thehand grip the unmachined workpiece W₁, and the hand is moved to thesecond command position P₃ in accordance with the point data PD₃. Thedistance Lo is determined in accordance with the position of the sensoron the hand, such that gripping can be made perfectly for all of theunmachined workpieces W₁ to W₃.

The conveyance of the unmachined workpieces W₂ and W₃ can be made in thesame manner as explained above, using the same point data PD₁ to PD₃ asthose used for the first unmachined workpiece W₁. Thus, the unmachinedworkpieces W₁ to W₃ are successively gripped one by a series of robotcommand data in which the position command is determined to be somewhatgreater than the actual one.

FIG. 8 shows a block diagram of an embodiment of the invention.Referring to FIG. 8, a robot controller RBC incorporates a data memoryDTM. This data memory DTM stores the robot command data shown in FIG. 7.A pulse distributor PDC performs a pulse distribution calculation inaccordance with the position command data Zc and distributes pulse Zp. Asymbol SVC represents a servo circuit for the Z axis. FIG. 8 shows onlythe pulse distributor PDC and servo circuit SVC for the Z axis, whilethe pulse distributors and servo circuits for the R and θ axes areomitted for simplicity. An error register ERR is adapted to count up orcount down the distribution pulse Zp, as well as a feedback pulse Fpwhich is generated each time the shaft of a motor SM for Z-axis driverotates a predetermined amount, in accordance with the direction ofmovement, and stores the difference between the commanded pulse numberand the number of the feedback pulses, i.e. the positional offset.Namely, if the commanded direction of movement is the positivedirection, the error register ERR counts up the command pulse Zp eachtime the command pulse Zp is generated, whereas, if the commanded movingdirection is the negative direction, the error register ERR counts downthe command pulse Zp. As to the feedback pulses Fp, the error registerERR counts down and counts up when the moving direction is positive andnegative, respectively. A digital-to-analog converter DAC (referred toas DA converter, hereinunder) is adapted to output an analog positionaloffset voltage Ve proportional to the positional offset. The servomotorSM is adapted to drive the robot in the direction of the Z axis. Theservomotor SM is composed of, for example, a DC motor. A position sensorRE such as rotary encoder, resolver or the like is adapted to produceone feedback pulse Fp each time the servomotor SM performs apredetermined amount of rotation. A reference symbol TM represents atachometer adapted to produce and deliver an actual speed voltage Vsproportional to the motor speed. An operation section ADD calculates thedifference between the positional offset voltage Ve and the actual speedvoltage Vs, while a speed control circuit VCC is adapted to control thespeed of the servomotor SM to nullify the offset voltage Vi. A robot RBThas a hand to the end of which a sensor TSS is attached.

The operation of each section of the system for executing the serviceshown in FIG. 4 will be described hereinunder.

The robot controller RBC reads out the motion speed data and positiondata V₂, R₁, Z₂, θ₁ contained by the point data PD₂ (See FIG. 7) fromthe data memory DTM incorporated therein, and calculates the incrementalvalues R,Z, θ, for respective axes. In the case of the service shown inFIG. 4, 1 (one) is subtracted from the content of the error register ERReach time the distribution pulse Zp is produced, because the directionof movement is negative, i.e. -Z. The content of the error register isconverted into a positional offset voltage Ve by the DA converter DAC,and is compared with the actual speed voltage VS in the operationsection ADD. The servomotor SM is operated rotationally in accordancewith the difference. In consequence, the hand (not shown) of the robotRBT is moved in the direction -Z, i.e. towards the unmachined workpieceW₁ from the point P₁. During the rotation of the servomotor SM, onefeedback pulse Fp is produced each time a predetermined amount ofrotation occurs. The feedback pulse Fp is delivered to the errorregister ERR to count up the content of the latter. Thereafter, eachsection of the system operates in the manner explained before, so thatthe hand continues to approach the unmachined workpiece W₁. Then, as thesensor TSS attached to the end of the hand contacts the unmachined workW₁, the sensor TSS produces a work contact or position signal WTS. Thiswork contact signal WTS is delivered to the reset terminal of the errorregister ERR to reset the contents of the latter to zero thereby to stopthe hand. The same signal is delivered also to a pulse distributor PDCto stop the pulse distribution operation, and to the robot controlsystem RBC to make the latter perform the desired service. The robotcontroller system RBC regards this work contact signal WTS as the signalrepresenting the completion of the positioning of the hand at the pointP₂, and reads the robot service code SOO for work gripping from the datamemory DTM. This robot service code SOO is delivered to the robot RBTthrough a line l_(n) so that the robot RBT grips the unmachinedworkpiece W₁. Then, the robot service completion signal is sent to therobot control system which then reads the motion speed data and positiondata V₃, R₃, Z₃, θ₃ contained in the point data PD (See FIG. 7) from thedata memory DTM. The pulse distribution calculation for respective axesis performed in accordance with these data and the hand is moved fromthe stopping position PX towards the point P₃ (See FIG. 5). Theremaining stroke between the stopping position PX and the first commandposition P₂ is neglected.

FIG. 9 shows a block diagram of another embodiment of the invention. Inthis embodiment, the hand is made to travel a predetermined distance Loafter the generation of the workpiece contact signal WTS, and is thenstopped. In FIG. 9, the same reference numerals are used to denote thesame parts or members as those used in FIG. 8.

The embodiment shown in FIG. 9 differs from the embodiment shown in FIG.8 by the following feature. Namely, in this embodiment, a grippingposition arrival signal GRR is produced after the generation of apredetermined number of feedback pulses Fp following the workpiececontact signal WTS, and, upon receipt of this gripping position arrivalsignal GPR, the error register EPR is reset and the pulse distributioncalculation is stopped, while the robot control system RBC commences thefollowing operation.

In FIG. 9, GPRC represents a gripping position arrival confirmationcircuit adapted to produce the gripping position arrival signal GPR.This circuit has a reversible counter CNT, AND gate GR and a flip-flopFF. The number N corresponding to the distance Lo is present or set inthe reversible counter CNT. A subtraction of the content of thereversible counter CNT is performed each time the feedback pulse Fp isgenerated after the generation of the workpiece contact signal WTS. Thegripping position arrival signal GPR is produced when the content of thereversible counter is reduced to zero. The flip-flop FF is set by thework contact signal WTS and is reset by the gripping position arrivalsignal GPP. An AND gate GR is adapted to permit the feedback pulse Fp tobe fed to the reversible counter CNT only when the flip-flop FF is set.

In the described embodiments, the robot control system operates inaccordance with the workpiece contact signal WTS generated by the sensorattached to the hand. The invention, however, is not limited to thistype of sensor and the robot control system of the invention can operatewith another type signal which limits the motion of the robot. In thedescribed embodiment, the hand grips the workpiece after stoppingapproximately at the gripping position and is then moved to the nextcommand position neglecting the remaining stroke to the grippingposition. The operation, however, may be such that the robot does notperform any service at the stopping position or, alternatively, executesanother robot service or a special motion program in accordance with theaforementioned signal before it is moved to the next command position.It is also possible to mount the sensor on a stationary part in thevicinity of the path of movement of the hand, instead of mounting thesame on the movable part such as the hand.

As has been described, the present invention permits, when applied to aplayback type industrial robot which repeatedly performs services on amachine, an instantaneous stopping of the hand at the position of theobject even when the object to be serviced, e.g. a workpiece, issomewhat offset from the correct position. Therefore, the hand and theworkpiece are not subjected to unnecessary force and, hence, are notdamaged. In addition, the robot which has completed a service can turnto the robot service of the next commanded position, so that theefficiency of the work is improved particularly when the same operationis performed repeatedly. It is also to be noted that teaching of therobot control system is facilitated advantageously. According to theinvention, therefore, it is possible to substitute robot services formanual work hitherto required for a multiplicity of machine tools and,hence, to achieve a saving of labor and procedural simplification ofwork, as well as improvement in work efficiency.

What is claimed is:
 1. A robot control system for moving a robotrelative to a workpiece, comprising:a robot controller operativelyconnected to the robot; a pulse distributor, operatively connected tosaid robot controller, for producing distribution pulses; a servocircuit, operatively connected to said pulse distributor and the robot,for producing a movement signal; a sensor, operatively connected to saidrobot controller, said pulse distributor and said servo circuit, forgenerating a stopping signal when the robot reaches a predeterminedposition relative to the workpiece, said pulse distributor and saidservo circuit discontinuing the production of the distribution pulsesand the movement signal, respectively, when the position signal isgenerated.
 2. A robot control system for moving a robot relative to aworkpiece, comprising:a robot controller operatively connected to therobot; a pulse distributor, operatively connected to said robotcontroller, for producing distribution pulses; a servo circuit,operatively connected to said pulse distributor and the robot, forproducing a movement signal; a sensor for generating a position signalwhen the robot reaches a predetermined position relative to theworkpiece; and a gripping position arrival confirmation circuit,operatively connected to said sensor, said servo circuit, said pulsedistributor, said robot controller and the robot, for generating astopping signal at a predetermined time after the position signal isgenerated, said pulse distributor and said servo circuit discontinuingthe production of the distribution pulses and the movement signal,respectively, when the stopping signal is generated.
 3. A robot controlsignal according to claim 2, wherein said gripping position arrivalconfirmation circuit comprises:a flip-flop connected to said sensor; anAND gate connected to the robot; a counter connected to said AND gate,said flip-flop, said servo circuit, said pulse distributor and saidrobot controller.